
"""

PyCharm 通过摄像头获取图像
2024年10月20日16时52分
by wenyang

"""
import cv2 as cv

def capture_image_from_camera():
    num = 0
    # 打开摄像头
    cap = cv.VideoCapture(0)

    if not cap.isOpened():
        print("Error: Could not open webcam.")
        return

    # 读取摄像头的图像
    while True:
        # 读取摄像头的图像
        ret, frame = cap.read()

        if not ret:
            print("Error: Could not read frame.")
            break

        # 显示图像
        cv.imshow("frame", frame)

        # 如果按下q键就退出
        if ord("q") == cv.waitKey(1):
            break

        # 如果按下s键就保存图片
        if ord("s") == cv.waitKey(1):
            num += 1
            filename = f"./img{num}.png"
            cv.imwrite(filename, frame)
            print("save image success!")

    # 释放摄像头
    cap.release()
    # 释放内存
    cv.destroyAllWindows()

def main():
    capture_image_from_camera()

if __name__ == "__main__":
    main()